____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―
Itai-Rodeh-Algorithmus
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
top
Der Itai-Rodeh-Algorithmus ist ein Algorithmus der Las-Vegas Klasse zur Auswahl anonymer unidirektionale Ringe und baut auf dem Chang- und Roberts-Algorithmus auf.
Contents
β’ Voraussetzungen
β’ Ablauf
β’ Erste Phase
β’ Weitere Phasen
β’ Quellen
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Voraussetzungen
Ablauf
Der Algorithmus lΓ€uft in Phasen (WahlgΓ€ngen) ab.
Erste Phase
In der ersten Phase wΓ€hlen alle Knoten eine zufΓ€llige Identifikationsnummer, I D > 0 {\displaystyle \mathrm {ID} >0} . Dann schickt jeder Knoten eine Nachricht bestehend aus eigener ID i {\displaystyle i} , SprungzΓ€hler h {\displaystyle h} (hopcount, gibt an, wie oft die Nachricht weitergeleitet wurde), einem Merker f {\displaystyle f} (flag) und der aktuellen Phase p {\displaystyle p} . Initial gilt h = 1 , f = 1 , p = 1 {\displaystyle h=1,f=1,p=1} .
β’ wenn eine Nachricht β¨ β¨ i , h , f , p β© β© {\displaystyle \langle i,h,f,p\rangle } empfangen wird:
β’ falls p {\displaystyle p} kleiner ist als die aktuelle Phase beim EmpfΓ€nger, wird die Nachricht nicht weitergeleitet (βverschlucktβ nach Chang und Roberts)
β’ falls i > I D {\displaystyle i>\mathrm {ID} } wird die Nachricht weitergeleitet als β¨ β¨ i , h + 1 , f , p β© β© {\displaystyle \langle i,h+1,f,p\rangle }
β’ falls i < I D {\displaystyle i<\mathrm {ID} } wird die Nachricht nicht weitergeleitet
β’ falls i = I D {\displaystyle i=\mathrm {ID} }
β’ wenn h β β n {\displaystyle h\neq n} wird f {\displaystyle f} auf 0 {\displaystyle 0} gesetzt (der Merker merkt sich, dass die ID mehrfach vergeben ist) und die Nachricht als β¨ β¨ i , h + 1 , 0 , p β© β© {\displaystyle \langle i,h+1,0,p\rangle } weitergeleitet
β’ wenn h = n {\displaystyle h=n} und f = 1 {\displaystyle f=1} hat der Knoten die Auswahl gewonnen (Mitteilung an alle anderen durch eine spezielle Nachricht)
β’ wenn h = n {\displaystyle h=n} und f = 0 {\displaystyle f=0} gibt es mehrere Gewinner.
Weitere Phasen
Falls es mehrere Gewinner der ersten bzw. vorherigen Phase gibt, dann startet diese Gruppe einen weiteren Durchlauf des Algorithmus mit p = p + 1 {\displaystyle p=p+1} . Der Ablauf ist genau wie in der ersten Phase, jedoch mit verringerter Anzahl der Teilnehmer. Passive Knoten leiten Nachrichten lediglich weiter; lediglich der SprungzΓ€hler h {\displaystyle h} wird dabei erhΓΆht.
NachrichtenkomplexitΓ€t
FΓΌr die erste Phase werden n {\displaystyle n} Nachrichten benΓΆtigt. Da die Anzahl der Phasen theoretisch unbegrenzt ist, geht die NachrichtenkomplexitΓ€t gegen unendlich. Praktisch ist dieser Fall aber sehr unwahrscheinlich. So kommen fΓΌr jede weitere Phase weniger als n {\displaystyle n} Nachrichten hinzu.
Der Erwartungswert E {\displaystyle E} fΓΌr die Anzahl der WahlgΓ€nge (wenn β β I D : I D β β [ 1 , . . . , n ] {\displaystyle \forall ID:ID\in [1,...,n]} ): E β€ β€ e ( n n β β 1 ) {\displaystyle E\leq e\left({\frac {n}{n-1}}\right)} ( e {\displaystyle e} ist die Eulersche Zahl)
Quellen
β’ Vorlesung Verteilte Systeme an der TU-Berlin
β’ A. Itai and M. Rodeh. Symmetry breaking in distributed networks, In Proceedings of the 22nd IEEE Symposium on Science, pages 150-158. IEEE Press, 1981.